
#ifndef _QUEUE_H_
#define _QUEUE_H_

#include "Xstl.h"

XSTL_NAMESPACE_BEGIN

template <typename Sequence>
class queue{
public:
	typedef typename Sequence::value_type value_type;
private:
	Sequence c;
public:
	void clear();
	void push(const value_type &item){c.push_back(item);}
	void pop(){c.pop_front();}
	value_type& front()	{return c.front();}
	value_type& back()	{return c.back();}
	bool empty()const	{return c.empty();}
	size_t size()const	{return c.size();}
};

XSTL_NAMESPACE_END

#endif

